<%
Dim Btn_First:Btn_First="<img src='images/dotout_03.gif' border=0 >"		'定义第一页按钮显示样式
Dim Btn_First_En:Btn_First_En="<img src='images/dotout_03.gif' border=0 >"		'定义第一页按钮显示样式

Dim Btn_Prev:Btn_Prev="<img src='images/dotout_05.gif' border=0 >"		'定义前一页按钮显示样式
Dim Btn_Prev_En:Btn_Prev_En="<img src='images/dotout_05.gif' border=0 >"		'定义前一页按钮显示样式

Dim Btn_Next:Btn_Next="<img src='images/dotout_07.gif' border=0 >"		'定义下一页按钮显示样式
Dim Btn_Next_En:Btn_Next_En="<img src='images/dotout_07.gif' border=0 >"		'定义下一页按钮显示样式

Dim Btn_Last:Btn_Last="<img src='images/dotout_09.gif' border=0 >"		'定义最后一页按钮显示样式
Dim Btn_Last_En:Btn_Last_En="<img src='images/dotout_09.gif' border=0 >"		'定义最后一页按钮显示样式

Const XD_Align="center"				'定义分页信息对齐方式
Const XD_Width="100%"				'定义分页信息框大小

Class Xdownpage
	Private XD_PageCount,XD_Conn,XD_Rs,XD_SQL,XD_Params,XD_PageSize,Str_errors,int_curpage,str_URL,int_totalPage,int_totalRecord,Int_I,XD_Ver
	'=================================================================
	'PageSize 属性
	'设置每一页的分页大小
	'=================================================================
	Public Property Let PageSize(int_PageSize)
	 If IsNumeric(Int_Pagesize) Then
		XD_PageSize=CLng(int_PageSize)
	 Else
	 	If UCase(XD_Ver)="EN" Then
			str_error=str_error & "'PageSize' is error!"
		Else
			str_error=str_error & "PageSize的参数不正确"
		End If
		ShowError()
	 End If
	End Property
	
	Public Property Get PageSize
	 If XD_PageSize="" or (not(IsNumeric(XD_PageSize))) Then
		PageSize=10     
	 Else
		PageSize=XD_PageSize
	 End If
	End Property
	
		
	'=================================================================
	'Get_Int_CurPage 
	'得到当前页面值
	'=================================================================
	Public Property Get Get_Int_CurPage
		Get_Int_CurPage = int_curpage
	End Property

	'=================================================================
	'Get_Total_Page 
	'得到总页数
	'=================================================================
	Public Property Get Get_Int_TotalPage
		Get_Int_TotalPage = int_totalPage
	End Property

	
	'=================================================================
	'GetRS 属性
	'返回分页后的记录集
	'=================================================================
	Public Property Get GetRs()
		 Set XD_Rs=Server.createobject("adodb.recordset")
		 XD_Rs.PageSize=PageSize
		 XD_Rs.Open XD_SQL,XD_Conn,1,1
	 	 int_TotalPage=XD_RS.PageCount

		 If not(XD_Rs.eof and XD_RS.BOF) Then
			  If int_curpage>XD_RS.PageCount Then
			   		int_curpage=XD_RS.PageCount
			  End If
		  	  XD_Rs.AbsolutePage=int_curpage
		 End If
		 Set GetRs=XD_RS
	End Property
	
	'=================================================================
	'GetVer 属性
	'得到语言版本
	'=================================================================
	Public Property Let GetVer(Str_Ver)
		XD_Ver = Str_Ver
	End Property
	
	'================================================================
	'GetConn  得到数据库连接
	'================================================================ 
	Public Property Let GetConn(obj_Conn)
		Set XD_Conn=obj_Conn
	End Property
	
	'================================================================
	'GetSQL   得到查询语句
	'================================================================
	Public Property Let GetSQL(str_sql)
		 XD_SQL=str_sql
	End Property
	
	'================================================================
	'GetParams   得到当前页面参数
	'================================================================
	Public Property Let GetParams(str_params)
		 XD_Params=Replace(str_params," ","")
	End Property
	
	'==================================================================
	'Class_Initialize 类的初始化
	'初始化当前页的值
	'
	'================================================================== 
	Private Sub Class_Initialize
	 '========================
	 '设定一些参数的黙认值
	 '========================
	 XD_PageSize=10  '设定分页的默认值为10
	 '========================
	 '获取当前面的值
	 '========================
	 If request("page")="" Then
		int_curpage=1
	 ElseIf not(IsNumeric(request("page"))) Then
		int_curpage=1
	 ElseIf CInt(Trim(request("page")))<1 Then
		int_curpage=1
	 Else
		Int_curpage=CInt(Trim(request("page")))
	 End If
	  
	End Sub
	
	'====================================================================
	'ShowPage  创建分页导航条
	'有首页、前一页、下一页、末页、还有数字导航
	'
	'====================================================================
	Public Sub ShowPage()
	 Dim str_tmp,StrVer
	 
	 int_totalRecord=XD_RS.RecordCount
	 int_TotalPage=XD_RS.PageCount
	 If int_totalRecord<=0 Then 
		If UCase(XD_Ver)="EN" Then
			StrVer="Sorry!Nothing!"
		Else
			StrVer="对不起!没有任何记录!"
		End If
		str_error=str_error & StrVer
		Call ShowError()
	 End If
	 
	 If Int_curpage>int_Totalpage Then
		Int_curpage=int_TotalPage
	 End If
	 
	 
	 '===============================================================================
	 '显示分页信息,各个模块根据自己要求更改显求位置
	 '===============================================================================
	 If int_totalRecord>0  Then
		 response.write "<table width="&XD_Width&"  border=0> <tr align="&XD_Align&"><td width='80%' align=center>"
		 str_tmp=ShowFirstPrv()
		 response.write str_tmp
		 str_tmp=showNumBtn()
		 response.write str_tmp
		 str_tmp=ShowNextLast()
		 response.write str_tmp&""
		 str_tmp=ShowPageInfo()
		 response.write str_tmp'&"</td><td width='*%' >"
		 'str_tmp=GoToPage()
		 'response.write str_tmp
		 Response.write "</td></tr></table>"
	  Else
	  	 If Int_I<>1 Then
			 Int_I=1
			 If UCase(XD_Ver)="EN" Then
			   StrVer="Sorry!Nothing!"
			 Else
			   StrVer="对不起!没有任何记录!"
			 End If
			 Response.write "<table width="&XD_Width&" > <tr align=center><td>"&StrVer&"</td></tr></table>"
		 End If
	  End If
	End Sub
	'====================================================================
	'ShowPage  创建分页导航条
	'有首页、前一页、下一页、末页、还有数字导航
	'
	'====================================================================
	Public Sub ShowPage1()
	 Dim str_tmp,StrVer
	 
	 int_totalRecord=XD_RS.RecordCount
	 int_TotalPage=XD_RS.PageCount
	 If int_totalRecord<=0 Then 
		If UCase(XD_Ver)="EN" Then
			StrVer="Sorry!Nothing!"
		Else
			StrVer="对不起!没有任何记录!"
		End If
		str_error=str_error & StrVer
		Call ShowError()
	 End If
	 
	 If Int_curpage>int_Totalpage Then
		Int_curpage=int_TotalPage
	 End If
	 
	 
	 '===============================================================================
	 '显示分页信息,各个模块根据自己要求更改显求位置
	 '===============================================================================
	 If int_totalRecord>0  Then
		 response.write "<table width="&XD_Width&"  border=0> <tr align="&XD_Align&"><td width='60%' align=right>"
		 str_tmp=ShowFirstPrv()
		 response.write str_tmp
		 str_tmp=showNumBtn()
		 response.write str_tmp
		 str_tmp=ShowNextLast()
		 response.write str_tmp&""
		 str_tmp=ShowPageInfo()
		 response.write str_tmp&"</td><td width='*%' align=left>"
		 str_tmp=GoToPage()
		 response.write str_tmp
		 Response.write "</td></tr></table>"
	  Else
	  	 If Int_I<>1 Then
			 Int_I=1
			 If UCase(XD_Ver)="EN" Then
			   StrVer="Sorry!Nothing!"
			 Else
			   StrVer="对不起!没有任何记录!"
			 End If
			 Response.write "<table width="&XD_Width&" > <tr align=center><td>"&StrVer&"</td></tr></table>"
		 End If
	  End If
	End Sub
	'====================================================================
	'ShowFirstPrv  显示首页、前一页
	'====================================================================
	Private Function ShowFirstPrv()
	 Dim Str_tmp,int_prvpage,Str_Url,Str_Frist_Prev
	 
	 Str_Url = GetURL()
	 If int_curpage=1 Then
		 str_tmp="<img src='images/dotover_05.gif' border=0 >"'"<img src='images/dotover_03.gif' border=0 >&nbsp;"&
	 Else
		 int_prvpage=int_curpage-1
		 str_tmp="<a href="&Str_Url&int_prvpage&">"&Btn_Prev&"</a>"'"<a href="&Str_Url&"1>"&Btn_First&"</a>&nbsp;"&
	 End If
	 ShowFirstPrv=str_tmp
	End Function
	

	'====================================================================
	'ShowNextLast  下一页、末页
	'====================================================================
	Private Function ShowNextLast()
	 Dim str_tmp,int_Nextpage
	 
	 Str_Url = GetURL()
	 If int_curpage=int_totalpage Then
		 str_tmp="<img src='images/dotover_07.gif' border=0 >"'&"&nbsp;<img src='images/dotover_09.gif' border=0 >"
	 Else
		 Int_NextPage=int_curpage+1
		 str_tmp="<a href="&Str_Url&Int_NextPage&">"&Btn_Next&"</a>"'&"&nbsp;<a href="&Str_Url&int_totalpage&">"&Btn_Last&"</a>"
	 End If
	
	 ShowNextLast=str_tmp
	End Function
	
	
	'====================================================================
	'ShowNumBtn  数字导航
	'====================================================================
	Private Function showNumBtn()
	 Dim i,str_tmp,Str_Url,Int_Beg,Int_End,Str_i
	
	 Int_Beg = Int_curpage-3
	 Int_End = Int_curpage+3

	 If Int_Beg <= 0 Then 
		Int_Beg = 1
	 End If
	
	 If Int_End > int_totalpage  Then
		Int_End = int_totalpage
	 End If
	
	 Str_Url = GetURL()
	 For i=Int_Beg to Int_End
		If i = Int_curpage Then
			Str_i = "<font color=#A2A2A2>"&i&"</font>&nbsp;"
		else 
			Str_i = "<a href='"&Str_Url&i&"'>"&i&"</a>&nbsp;"
		end If
		str_tmp=str_tmp &" "& Str_i &" "
	 Next
	
	 showNumBtn=str_tmp
	 
	End Function
	
	'====================================================================
	'ShowPageInfo  页面跳转(注意页面所带参数)
	'更据要求自行修改
	'====================================================================
	Private Function GoToPage()
		Dim Str_Tmp,StrVer
		
		Dim strurl,str_url,i,j,search_str,result_url
		 strurl=Request.ServerVariables("URL")
		 Strurl=split(strurl,"/")
		 i=UBound(strurl,1)
		 str_url=strurl(i)									'得到当前页文件名
	
		 'str_params=Request.ServerVariables("QUERY_STRING")
		 
		 If Trim(XD_Params)="" Then
			result_url=str_url
		 Else
			result_url=str_url & "?"&XD_Params
		 End If
		 
		 If UCase(XD_Ver)="EN" Then
		 	StrVer="Page"
		 Else
		 	StrVer="Page"
		 End If
		
		Str_Tmp = "<table width='220' border=0 ><form action="&result_url&" method='post'><tr><td align=left><input type='text' name='page' value='"&Int_curpage&"' size=2 maxlength=4 class='bt1'>页<input type='submit' value='Go' class='bt2' ></td></tr></form></table>"     
		GoToPage = Str_Tmp											
	End Function
	
	'====================================================================
	'ShowPageInfo  分页信息
	'更据要求自行修改
	'====================================================================
	Private Function ShowPageInfo()
	 Dim str_tmp
		 If UCase(XD_Ver)="EN" Then
			 str_tmp="&nbsp;&nbsp;Current Page:"&int_curpage&"/"&int_totalpage&"&nbsp;&nbsp;Record Number:"&int_totalrecord&"&nbsp;&nbsp;"&XD_PageSize&"/Page"
		 Else
			 'str_tmp="&nbsp;&nbsp;页次:"&int_curpage&"/"&int_totalpage&"&nbsp;&nbsp;记录总数:"&int_totalrecord&"&nbsp;&nbsp;"&XD_PageSize&"/每页"
		 End If
		 ShowPageInfo=str_tmp
	End Function
	
	'==================================================================
	'GetURL  得到当前的URL
	'更据URL参数不同,获取不同的结果
	'
	'==================================================================
	Private Function GetURL()
		 Dim strurl,str_url,i,j,search_str,result_url
		 search_str="page="
		 strurl=Request.ServerVariables("URL")
		 Strurl=split(strurl,"/")
		 i=UBound(strurl,1)
		 str_url=strurl(i)									'得到当前页文件名
	
		 'str_params=Request.ServerVariables("QUERY_STRING")
		 
		 
		 If Trim(XD_Params)="" Then
			result_url=str_url & "?page="
		 Else
			result_url=str_url & "?"&XD_Params&"&page="
		 End If
		 GetURL=result_url
	End Function
	
	
	
	'====================================================================
	' 设置 Terminate 事件。
	'====================================================================
	Private Sub Class_Terminate   
	 XD_RS.close
	 Set XD_RS=nothing
	End Sub
	
	'====================================================================
	'ShowError  错误提示
	'====================================================================
	Private Sub ShowError()
	 If str_Error <> "" Then
		  Response.Write("" & SW_Error & "")
		  Response.End
	 End If
	End Sub


End class
%>